def check_type():
    """
    判断字符串类型
    :return:
    """
    s1 = 'abc123'
    print(s1.isalnum())  # 只有字母和数字
    s2 = '123'
    print(s2.isdigit())  # 只有数字


def str_find():
    """
    字符串查找与替换
    :return:
    """
    s1 = 'abcdcdcdg'
    print(s1.find('d',4))  # 从下标4开始找

    print(s1.replace('cd','CD',1))  # 第三个参数控制替换次数：只替换1次


def str_split_join():
    """
    字符串分割与连接
    :return:
    """
    s1 = 'abc,123,+++'
    print(s1.split(','))

    s2 = 'abc\n123\n+++'
    print(s2)
    print(s2.split('\n'))
    print(s2.splitlines(True))

    str_list=['a','b','c','d']
    print(','.join(str_list))  # 以 , 连接


def study_r():
    """
    \r和\n的区别
    :return:
    """
    s1 = 'abc\rd'  # \r使光标回到头，实际上是 dbc，但pycharm会把后面都给抹掉
    print(s1)
    s2 = 'abc\r\nd'  # \n换行
    print(s2)


def str_slice():
    """
    字符串的切片
    :return:
    """
    num_str = "0123456789"
    print(num_str[2:6])  # 2-5
    print(num_str[2:])  # 2-末尾
    print(num_str[:6])   # 开始-5
    print(num_str[:])  # 完整
    print(num_str[::2])  # 步长，每个一个截取一个（第一个冒号是完整，第二个是步长）
    print(num_str[2:-1])  # 2-末尾-1
    print(num_str[-2:])  # 末尾-2-末尾
    print(num_str[::-1])  # 字符串逆序，步长-1即可


def list_slice():
    """
    元组切片
    :return:
    """
    my_list = list("0123456789")
    print(my_list)
    print(str(my_list))
    print(my_list[2:6:2])





if __name__ == '__main__':
    # check_type()
    # str_find()
    # str_split_join()
    # study_r()
    # str_slice()
    list_slice()